↳ ITRS
↳ ITRStoIDPProof
z
Cond_mult1(TRUE, x, y) → -@z(mult(-@z(x), y))
mult(0@z, y) → 0@z
mult(x, y) → Cond_mult(>@z(x, 0@z), x, y)
mult(x, y) → Cond_mult1(>@z(0@z, x), x, y)
Cond_mult(TRUE, x, y) → +@z(mult(-@z(x, 1@z), y), y)
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
Cond_mult1(TRUE, x, y) → -@z(mult(-@z(x), y))
mult(0@z, y) → 0@z
mult(x, y) → Cond_mult(>@z(x, 0@z), x, y)
mult(x, y) → Cond_mult1(>@z(0@z, x), x, y)
Cond_mult(TRUE, x, y) → +@z(mult(-@z(x, 1@z), y), y)
(0) -> (2), if ((x[0] →* x[2])∧(y[0] →* y[2])∧(>@z(0@z, x[0]) →* TRUE))
(1) -> (0), if ((y[1] →* y[0])∧(-@z(x[1], 1@z) →* x[0]))
(1) -> (3), if ((y[1] →* y[3])∧(-@z(x[1], 1@z) →* x[3]))
(2) -> (0), if ((y[2] →* y[0])∧(-@z(x[2]) →* x[0]))
(2) -> (3), if ((y[2] →* y[3])∧(-@z(x[2]) →* x[3]))
(3) -> (1), if ((x[3] →* x[1])∧(y[3] →* y[1])∧(>@z(x[3], 0@z) →* TRUE))
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
z
(0) -> (2), if ((x[0] →* x[2])∧(y[0] →* y[2])∧(>@z(0@z, x[0]) →* TRUE))
(1) -> (0), if ((y[1] →* y[0])∧(-@z(x[1], 1@z) →* x[0]))
(1) -> (3), if ((y[1] →* y[3])∧(-@z(x[1], 1@z) →* x[3]))
(2) -> (0), if ((y[2] →* y[0])∧(-@z(x[2]) →* x[0]))
(2) -> (3), if ((y[2] →* y[3])∧(-@z(x[2]) →* x[3]))
(3) -> (1), if ((x[3] →* x[1])∧(y[3] →* y[1])∧(>@z(x[3], 0@z) →* TRUE))
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)
(1) (MULT(x[0], y[0])≥NonInfC∧MULT(x[0], y[0])≥COND_MULT1(>@z(0@z, x[0]), x[0], y[0])∧(UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥))
(2) ((UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥)∧0 ≥ 0∧0 ≥ 0)
(3) ((UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) (0 ≥ 0∧(UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥)∧0 ≥ 0)
(5) (0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥)∧0 = 0∧0 ≥ 0)
(6) (x[0]=x[2]∧x[0]1=x[2]1∧>@z(0@z, x[0]1)=TRUE∧y[0]1=y[2]1∧y[1]=y[0]1∧-@z(x[2])=x[3]∧y[0]=y[2]∧x[3]=x[1]∧y[3]=y[1]∧y[2]=y[3]∧>@z(x[3], 0@z)=TRUE∧>@z(0@z, x[0])=TRUE∧-@z(x[1], 1@z)=x[0]1 ⇒ COND_MULT(TRUE, x[1], y[1])≥NonInfC∧COND_MULT(TRUE, x[1], y[1])≥MULT(-@z(x[1], 1@z), y[1])∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(7) (>@z(0@z, -@z(-@z(x[0]), 1@z))=TRUE∧>@z(-@z(x[0]), 0@z)=TRUE∧>@z(0@z, x[0])=TRUE ⇒ COND_MULT(TRUE, -@z(x[0]), y[0])≥NonInfC∧COND_MULT(TRUE, -@z(x[0]), y[0])≥MULT(-@z(-@z(x[0]), 1@z), y[0])∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(8) (x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧0 ≥ 0)
(9) (x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧0 ≥ 0)
(10) (-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧x[0] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(11) (-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧x[0] ≥ 0 ⇒ 0 = 0∧0 = 0∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧0 ≥ 0)
(12) (-@z(x[1]1, 1@z)=x[3]2∧y[1]1=y[3]2∧y[1]=y[3]1∧x[3]=x[1]∧>@z(x[3]2, 0@z)=TRUE∧x[3]1=x[1]1∧y[3]=y[1]∧>@z(x[3], 0@z)=TRUE∧x[3]2=x[1]2∧-@z(x[1], 1@z)=x[3]1∧y[3]2=y[1]2∧>@z(x[3]1, 0@z)=TRUE∧y[3]1=y[1]1 ⇒ COND_MULT(TRUE, x[1]1, y[1]1)≥NonInfC∧COND_MULT(TRUE, x[1]1, y[1]1)≥MULT(-@z(x[1]1, 1@z), y[1]1)∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥))
(13) (>@z(-@z(-@z(x[3], 1@z), 1@z), 0@z)=TRUE∧>@z(x[3], 0@z)=TRUE∧>@z(-@z(x[3], 1@z), 0@z)=TRUE ⇒ COND_MULT(TRUE, -@z(x[3], 1@z), y[3])≥NonInfC∧COND_MULT(TRUE, -@z(x[3], 1@z), y[3])≥MULT(-@z(-@z(x[3], 1@z), 1@z), y[3])∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥))
(14) (-3 + x[3] ≥ 0∧-1 + x[3] ≥ 0∧-2 + x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 ≥ 0∧0 ≥ 0)
(15) (-3 + x[3] ≥ 0∧-1 + x[3] ≥ 0∧-2 + x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 ≥ 0∧0 ≥ 0)
(16) (-2 + x[3] ≥ 0∧-3 + x[3] ≥ 0∧-1 + x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 ≥ 0)
(17) (-2 + x[3] ≥ 0∧-3 + x[3] ≥ 0∧-1 + x[3] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 = 0∧0 = 0)
(18) (x[3] ≥ 0∧-1 + x[3] ≥ 0∧1 + x[3] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 = 0∧0 = 0)
(19) (1 + x[3] ≥ 0∧x[3] ≥ 0∧2 + x[3] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 = 0∧0 = 0)
(20) (x[0]=x[2]∧y[1]=y[3]1∧y[1]1=y[0]∧y[0]=y[2]∧x[3]=x[1]∧x[3]1=x[1]1∧y[3]=y[1]∧>@z(x[3], 0@z)=TRUE∧>@z(0@z, x[0])=TRUE∧-@z(x[1], 1@z)=x[3]1∧-@z(x[1]1, 1@z)=x[0]∧>@z(x[3]1, 0@z)=TRUE∧y[3]1=y[1]1 ⇒ COND_MULT(TRUE, x[1]1, y[1]1)≥NonInfC∧COND_MULT(TRUE, x[1]1, y[1]1)≥MULT(-@z(x[1]1, 1@z), y[1]1)∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥))
(21) (>@z(x[3], 0@z)=TRUE∧>@z(0@z, -@z(-@z(x[3], 1@z), 1@z))=TRUE∧>@z(-@z(x[3], 1@z), 0@z)=TRUE ⇒ COND_MULT(TRUE, -@z(x[3], 1@z), y[3])≥NonInfC∧COND_MULT(TRUE, -@z(x[3], 1@z), y[3])≥MULT(-@z(-@z(x[3], 1@z), 1@z), y[3])∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥))
(22) (-1 + x[3] ≥ 0∧1 + (-1)x[3] ≥ 0∧-2 + x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 ≥ 0∧0 ≥ 0)
(23) (-1 + x[3] ≥ 0∧1 + (-1)x[3] ≥ 0∧-2 + x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 ≥ 0∧0 ≥ 0)
(24) (-2 + x[3] ≥ 0∧1 + (-1)x[3] ≥ 0∧-1 + x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 ≥ 0)
(25) (-2 + x[3] ≥ 0∧1 + (-1)x[3] ≥ 0∧-1 + x[3] ≥ 0 ⇒ 0 = 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1]1, 1@z), y[1]1)), ≥)∧0 = 0∧0 ≥ 0)
(26) (x[0]=x[2]∧y[1]=y[3]1∧-@z(x[2])=x[3]∧y[0]=y[2]∧x[3]=x[1]∧x[3]1=x[1]1∧y[3]=y[1]∧y[2]=y[3]∧>@z(x[3], 0@z)=TRUE∧>@z(0@z, x[0])=TRUE∧-@z(x[1], 1@z)=x[3]1∧>@z(x[3]1, 0@z)=TRUE∧y[3]1=y[1]1 ⇒ COND_MULT(TRUE, x[1], y[1])≥NonInfC∧COND_MULT(TRUE, x[1], y[1])≥MULT(-@z(x[1], 1@z), y[1])∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(27) (>@z(-@z(x[0]), 0@z)=TRUE∧>@z(0@z, x[0])=TRUE∧>@z(-@z(-@z(x[0]), 1@z), 0@z)=TRUE ⇒ COND_MULT(TRUE, -@z(x[0]), y[0])≥NonInfC∧COND_MULT(TRUE, -@z(x[0]), y[0])≥MULT(-@z(-@z(x[0]), 1@z), y[0])∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(28) (-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-2 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧0 ≥ 0)
(29) (-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-2 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧0 ≥ 0)
(30) (-2 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(31) (-2 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ 0 = 0∧0 ≥ 0∧0 = 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(32) (-1 + x[0] ≥ 0∧x[0] ≥ 0∧x[0] ≥ 0 ⇒ 0 = 0∧0 ≥ 0∧0 = 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(33) (x[0] ≥ 0∧1 + x[0] ≥ 0∧1 + x[0] ≥ 0 ⇒ 0 = 0∧0 ≥ 0∧0 = 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(34) (x[0]=x[2]∧x[0]1=x[2]1∧>@z(0@z, x[0]1)=TRUE∧y[0]1=y[2]1∧-@z(x[2])=x[0]1∧-@z(x[1], 1@z)=x[0]∧y[0]=y[2]∧x[3]=x[1]∧y[3]=y[1]∧>@z(x[3], 0@z)=TRUE∧>@z(0@z, x[0])=TRUE∧y[2]=y[0]1∧y[1]=y[0] ⇒ COND_MULT1(TRUE, x[2], y[2])≥NonInfC∧COND_MULT1(TRUE, x[2], y[2])≥MULT(-@z(x[2]), y[2])∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥))
(35) (>@z(0@z, -@z(-@z(x[3], 1@z)))=TRUE∧>@z(x[3], 0@z)=TRUE∧>@z(0@z, -@z(x[3], 1@z))=TRUE ⇒ COND_MULT1(TRUE, -@z(x[3], 1@z), y[3])≥NonInfC∧COND_MULT1(TRUE, -@z(x[3], 1@z), y[3])≥MULT(-@z(-@z(x[3], 1@z)), y[3])∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥))
(36) (-2 + x[3] ≥ 0∧-1 + x[3] ≥ 0∧(-1)x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-2 + (-1)Bound + (-1)y[3] + x[3] ≥ 0∧-2 + (2)x[3] ≥ 0)
(37) (-2 + x[3] ≥ 0∧-1 + x[3] ≥ 0∧(-1)x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-2 + (-1)Bound + (-1)y[3] + x[3] ≥ 0∧-2 + (2)x[3] ≥ 0)
(38) (-2 + x[3] ≥ 0∧-1 + x[3] ≥ 0∧(-1)x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-2 + (-1)Bound + (-1)y[3] + x[3] ≥ 0∧-2 + (2)x[3] ≥ 0)
(39) (-2 + x[3] ≥ 0∧-1 + x[3] ≥ 0∧(-1)x[3] ≥ 0 ⇒ -1 = 0∧-2 + (2)x[3] ≥ 0∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧0 = 0∧-2 + (-1)Bound + x[3] ≥ 0)
(40) (x[0]=x[2]∧x[0]1=x[2]1∧>@z(0@z, x[0]1)=TRUE∧y[0]1=y[2]1∧-@z(x[2]1)=x[3]∧y[2]1=y[3]∧-@z(x[2])=x[0]1∧y[0]=y[2]∧x[3]=x[1]∧y[3]=y[1]∧>@z(x[3], 0@z)=TRUE∧>@z(0@z, x[0])=TRUE∧y[2]=y[0]1 ⇒ COND_MULT1(TRUE, x[2]1, y[2]1)≥NonInfC∧COND_MULT1(TRUE, x[2]1, y[2]1)≥MULT(-@z(x[2]1), y[2]1)∧(UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥))
(41) (>@z(0@z, -@z(x[0]))=TRUE∧>@z(-@z(-@z(x[0])), 0@z)=TRUE∧>@z(0@z, x[0])=TRUE ⇒ COND_MULT1(TRUE, -@z(x[0]), y[0])≥NonInfC∧COND_MULT1(TRUE, -@z(x[0]), y[0])≥MULT(-@z(-@z(x[0])), y[0])∧(UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥))
(42) (-1 + x[0] ≥ 0∧-1 + x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥)∧-1 + (-1)Bound + (-1)y[0] + (-1)x[0] ≥ 0∧(-2)x[0] ≥ 0)
(43) (-1 + x[0] ≥ 0∧-1 + x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥)∧-1 + (-1)Bound + (-1)y[0] + (-1)x[0] ≥ 0∧(-2)x[0] ≥ 0)
(44) (-1 + x[0] ≥ 0∧-1 + x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ -1 + (-1)Bound + (-1)y[0] + (-1)x[0] ≥ 0∧(UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥)∧(-2)x[0] ≥ 0)
(45) (-1 + x[0] ≥ 0∧-1 + x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥)∧-1 + (-1)Bound + (-1)x[0] ≥ 0∧0 = 0∧(-2)x[0] ≥ 0∧-1 = 0)
(46) (x[0]=x[2]∧-@z(x[1], 1@z)=x[0]∧y[0]=y[2]∧x[3]=x[1]∧x[3]1=x[1]1∧y[3]=y[1]∧y[2]=y[3]1∧>@z(x[3], 0@z)=TRUE∧>@z(0@z, x[0])=TRUE∧y[1]=y[0]∧-@z(x[2])=x[3]1∧>@z(x[3]1, 0@z)=TRUE∧y[3]1=y[1]1 ⇒ COND_MULT1(TRUE, x[2], y[2])≥NonInfC∧COND_MULT1(TRUE, x[2], y[2])≥MULT(-@z(x[2]), y[2])∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥))
(47) (>@z(x[3], 0@z)=TRUE∧>@z(0@z, -@z(x[3], 1@z))=TRUE∧>@z(-@z(-@z(x[3], 1@z)), 0@z)=TRUE ⇒ COND_MULT1(TRUE, -@z(x[3], 1@z), y[3])≥NonInfC∧COND_MULT1(TRUE, -@z(x[3], 1@z), y[3])≥MULT(-@z(-@z(x[3], 1@z)), y[3])∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥))
(48) (-1 + x[3] ≥ 0∧(-1)x[3] ≥ 0∧(-1)x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-2 + (-1)Bound + (-1)y[3] + x[3] ≥ 0∧-2 + (2)x[3] ≥ 0)
(49) (-1 + x[3] ≥ 0∧(-1)x[3] ≥ 0∧(-1)x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-2 + (-1)Bound + (-1)y[3] + x[3] ≥ 0∧-2 + (2)x[3] ≥ 0)
(50) (-1 + x[3] ≥ 0∧(-1)x[3] ≥ 0∧(-1)x[3] ≥ 0 ⇒ -2 + (-1)Bound + (-1)y[3] + x[3] ≥ 0∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-2 + (2)x[3] ≥ 0)
(51) (-1 + x[3] ≥ 0∧(-1)x[3] ≥ 0∧(-1)x[3] ≥ 0 ⇒ 0 = 0∧-2 + (-1)Bound + x[3] ≥ 0∧-2 + (2)x[3] ≥ 0∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-1 = 0)
(52) (x[0]=x[2]∧x[0]1=x[2]1∧>@z(0@z, x[0]1)=TRUE∧y[0]1=y[2]1∧y[0]2=y[2]2∧x[0]2=x[2]2∧-@z(x[2])=x[0]1∧y[2]1=y[0]2∧-@z(x[2]1)=x[0]2∧y[0]=y[2]∧>@z(0@z, x[0]2)=TRUE∧>@z(0@z, x[0])=TRUE∧y[2]=y[0]1 ⇒ COND_MULT1(TRUE, x[2]1, y[2]1)≥NonInfC∧COND_MULT1(TRUE, x[2]1, y[2]1)≥MULT(-@z(x[2]1), y[2]1)∧(UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥))
(53) (>@z(0@z, -@z(x[0]))=TRUE∧>@z(0@z, -@z(-@z(x[0])))=TRUE∧>@z(0@z, x[0])=TRUE ⇒ COND_MULT1(TRUE, -@z(x[0]), y[0])≥NonInfC∧COND_MULT1(TRUE, -@z(x[0]), y[0])≥MULT(-@z(-@z(x[0])), y[0])∧(UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥))
(54) (-1 + x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥)∧-1 + (-1)Bound + (-1)y[0] + (-1)x[0] ≥ 0∧(-2)x[0] ≥ 0)
(55) (-1 + x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥)∧-1 + (-1)Bound + (-1)y[0] + (-1)x[0] ≥ 0∧(-2)x[0] ≥ 0)
(56) (-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-1 + x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥)∧-1 + (-1)Bound + (-1)y[0] + (-1)x[0] ≥ 0∧(-2)x[0] ≥ 0)
(57) (-1 + (-1)x[0] ≥ 0∧-1 + (-1)x[0] ≥ 0∧-1 + x[0] ≥ 0 ⇒ 0 = 0∧(UIncreasing(MULT(-@z(x[2]1), y[2]1)), ≥)∧-1 = 0∧(-2)x[0] ≥ 0∧-1 + (-1)Bound + (-1)x[0] ≥ 0)
(58) (MULT(x[3], y[3])≥NonInfC∧MULT(x[3], y[3])≥COND_MULT(>@z(x[3], 0@z), x[3], y[3])∧(UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥))
(59) ((UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(60) ((UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(61) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥))
(62) (0 ≥ 0∧0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥)∧0 = 0)
POL(-@z(x1, x2)) = x1 + (-1)x2
POL(-@z(x1)) = (-1)x1
POL(COND_MULT(x1, x2, x3)) = -1 + (-1)x3 + x2
POL(0@z) = 0
POL(MULT(x1, x2)) = -1 + (-1)x2 + x1
POL(TRUE) = -1
POL(COND_MULT1(x1, x2, x3)) = -1 + (-1)x3 + x2
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_MULT(TRUE, x[1], y[1]) → MULT(-@z(x[1], 1@z), y[1])
COND_MULT1(TRUE, x[2], y[2]) → MULT(-@z(x[2]), y[2])
MULT(x[0], y[0]) → COND_MULT1(>@z(0@z, x[0]), x[0], y[0])
COND_MULT1(TRUE, x[2], y[2]) → MULT(-@z(x[2]), y[2])
MULT(x[3], y[3]) → COND_MULT(>@z(x[3], 0@z), x[3], y[3])
-@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
z
(1) -> (0), if ((y[1] →* y[0])∧(-@z(x[1], 1@z) →* x[0]))
(3) -> (1), if ((x[3] →* x[1])∧(y[3] →* y[1])∧(>@z(x[3], 0@z) →* TRUE))
(1) -> (3), if ((y[1] →* y[3])∧(-@z(x[1], 1@z) →* x[3]))
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
z
(3) -> (1), if ((x[3] →* x[1])∧(y[3] →* y[1])∧(>@z(x[3], 0@z) →* TRUE))
(1) -> (3), if ((y[1] →* y[3])∧(-@z(x[1], 1@z) →* x[3]))
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)
(1) (x[3]=x[1]∧y[3]=y[1]∧>@z(x[3], 0@z)=TRUE∧-@z(x[1], 1@z)=x[3]1∧y[1]=y[3]1 ⇒ COND_MULT(TRUE, x[1], y[1])≥NonInfC∧COND_MULT(TRUE, x[1], y[1])≥MULT(-@z(x[1], 1@z), y[1])∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(2) (>@z(x[3], 0@z)=TRUE ⇒ COND_MULT(TRUE, x[3], y[3])≥NonInfC∧COND_MULT(TRUE, x[3], y[3])≥MULT(-@z(x[3], 1@z), y[3])∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(3) (-1 + x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + x[3] ≥ 0∧0 ≥ 0)
(4) (-1 + x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + x[3] ≥ 0∧0 ≥ 0)
(5) (-1 + x[3] ≥ 0 ⇒ -1 + (-1)Bound + x[3] ≥ 0∧0 ≥ 0∧(UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥))
(6) (-1 + x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧0 = 0∧0 = 0∧-1 + (-1)Bound + x[3] ≥ 0)
(7) (x[3] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧0 = 0∧0 = 0∧(-1)Bound + x[3] ≥ 0)
(8) (MULT(x[3], y[3])≥NonInfC∧MULT(x[3], y[3])≥COND_MULT(>@z(x[3], 0@z), x[3], y[3])∧(UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥))
(9) ((UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(10) ((UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(11) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥))
(12) (0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧(UIncreasing(COND_MULT(>@z(x[3], 0@z), x[3], y[3])), ≥)∧0 = 0)
POL(-@z(x1, x2)) = x1 + (-1)x2
POL(COND_MULT(x1, x2, x3)) = -1 + x2
POL(0@z) = 0
POL(MULT(x1, x2)) = -1 + x1
POL(TRUE) = 0
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_MULT(TRUE, x[1], y[1]) → MULT(-@z(x[1], 1@z), y[1])
COND_MULT(TRUE, x[1], y[1]) → MULT(-@z(x[1], 1@z), y[1])
MULT(x[3], y[3]) → COND_MULT(>@z(x[3], 0@z), x[3], y[3])
-@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
z
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
z
(0) -> (2), if ((x[0] →* x[2])∧(y[0] →* y[2])∧(>@z(0@z, x[0]) →* TRUE))
(2) -> (0), if ((y[2] →* y[0])∧(-@z(x[2]) →* x[0]))
(2) -> (3), if ((y[2] →* y[3])∧(-@z(x[2]) →* x[3]))
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
z
(0) -> (2), if ((x[0] →* x[2])∧(y[0] →* y[2])∧(>@z(0@z, x[0]) →* TRUE))
(2) -> (0), if ((y[2] →* y[0])∧(-@z(x[2]) →* x[0]))
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)
(1) (x[0]=x[2]∧y[0]=y[2]∧y[2]=y[0]1∧>@z(0@z, x[0])=TRUE∧-@z(x[2])=x[0]1 ⇒ COND_MULT1(TRUE, x[2], y[2])≥NonInfC∧COND_MULT1(TRUE, x[2], y[2])≥MULT(-@z(x[2]), y[2])∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥))
(2) (>@z(0@z, x[0])=TRUE ⇒ COND_MULT1(TRUE, x[0], y[0])≥NonInfC∧COND_MULT1(TRUE, x[0], y[0])≥MULT(-@z(x[0]), y[0])∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥))
(3) (-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-1 + (-1)Bound + (-1)x[0] ≥ 0∧-1 + (-2)x[0] ≥ 0)
(4) (-1 + (-1)x[0] ≥ 0 ⇒ (UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-1 + (-1)Bound + (-1)x[0] ≥ 0∧-1 + (-2)x[0] ≥ 0)
(5) (-1 + (-1)x[0] ≥ 0 ⇒ -1 + (-1)Bound + (-1)x[0] ≥ 0∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧-1 + (-2)x[0] ≥ 0)
(6) (-1 + (-1)x[0] ≥ 0 ⇒ -1 + (-1)Bound + (-1)x[0] ≥ 0∧-1 + (-2)x[0] ≥ 0∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧0 = 0∧0 = 0)
(7) (x[0] ≥ 0 ⇒ (-1)Bound + x[0] ≥ 0∧1 + (2)x[0] ≥ 0∧(UIncreasing(MULT(-@z(x[2]), y[2])), ≥)∧0 = 0∧0 = 0)
(8) (MULT(x[0], y[0])≥NonInfC∧MULT(x[0], y[0])≥COND_MULT1(>@z(0@z, x[0]), x[0], y[0])∧(UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥))
(9) ((UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥)∧0 ≥ 0∧0 ≥ 0)
(10) ((UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥)∧0 ≥ 0∧0 ≥ 0)
(11) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥))
(12) (0 = 0∧0 = 0∧0 ≥ 0∧(UIncreasing(COND_MULT1(>@z(0@z, x[0]), x[0], y[0])), ≥)∧0 = 0∧0 ≥ 0∧0 = 0)
POL(-@z(x1)) = (-1)x1
POL(0@z) = 0
POL(MULT(x1, x2)) = -1 + (-1)x1
POL(TRUE) = -1
POL(COND_MULT1(x1, x2, x3)) = -1 + (-1)x2
POL(FALSE) = -1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_MULT1(TRUE, x[2], y[2]) → MULT(-@z(x[2]), y[2])
COND_MULT1(TRUE, x[2], y[2]) → MULT(-@z(x[2]), y[2])
MULT(x[0], y[0]) → COND_MULT1(>@z(0@z, x[0]), x[0], y[0])
-@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
z
Cond_mult1(TRUE, x0, x1)
mult(x0, x1)
Cond_mult(TRUE, x0, x1)